<?php
namespace app\admin\model;
use think\Model;
use util\Tree;
/**
 * 后台系统配置模型
 * @author 唐小虎 <1731050423@qq.com>
 */
class ArticleCate extends Model {
	// 设置当前模型对应的完整数据表名称
    protected $table = '__ARTICLE_CATEGORY__';

    /**
     * 获取树形分类
     * @author 小虎 <1731050423@qq.com>
     * @return mixed
     */
    public static function getTree($id = null, $default = '')
    {
        $result[0]       = '顶级分类';
        $where['id'] = ['egt', 0];

        // 排除指定菜单及其子菜单
        if ($id !== null) {
            $hide_ids    = array_merge([$id], self::getChildsId($id));
            $where['id'] = ['notin', $hide_ids];
        }

        // 获取菜单
        $roles = Tree::config()->toList(self::where($where)->column('id,pid,title'));
        foreach ($roles as $role) {
            $result[$role['id']] = $role['title_display'];
        }

        // 设置默认菜单项标题
        if ($default != '') {
            $result[0] = $default;
        }

        // 隐藏默认菜单项
        if ($default === false) {
            unset($result[0]);
        }
        return $result;
    }

}
